#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "trans_tools.h"

const double SUBSET1_1D_4x8[2*4]={
  1                   , 0.965300887762155946, 0.935153289354844763, 0.913283009229249432, 0.894324829952695355, 0.880063311676738458, 0.866183466827104787, 0.853497097322791554
};

const double SUBSET1_1D_8x16[2*8]={
  1                   , 0.965137275560318586, 0.934863111781725098, 0.912901489009930178, 0.893886465108923667, 0.879571607217473517, 0.86564706543863168 , 0.852921190628046166,
  0.842795373480948462, 0.831313378272043768, 0.822156688958478488, 0.813730555470264294, 0.80430299128657845 , 0.797302509841553597, 0.789267288249199228, 0.781346835940896822
};

const double SUBSET1_1D_16x32[2*16]={
  1                   , 0.964937117755906848, 0.934435546923380489, 0.912290521462185922, 0.89315710753212596 , 0.878739240191312221, 0.864715734367605515, 0.851904324586791106,
  0.841707428440539029, 0.830165202166005867, 0.82096547298106437 , 0.812501330725822646, 0.80304708820047499 , 0.796015033497699975, 0.787942730855812123, 0.779984562911727242,
  0.773867612955779549, 0.766229915808482098, 0.760141055028612511, 0.75457582447738758 , 0.747860778626181832, 0.74312707960658142 , 0.737617234005152334, 0.732172011872836648,
  0.728279143089830883, 0.722637115502609784, 0.718002552069585853, 0.713729542635013203, 0.708198399734208617, 0.704454904218173361, 0.699935549574550175, 0.695360592060045302
};

const double SUBSET3_1D_4x8[2*4]={
  1                   , 0.98005136796498693 , 0.957713574924411781, 0.941580421294460956, 0.928531346729398632, 0.917354474191168223, 0.907438969866926182, 0.898433540548949749
};

const double SUBSET3_1D_8x16[2*8]={
  1                   , 0.979985707472378897, 0.957579285072683417, 0.941393704649523211, 0.928300512015876933, 0.917086228551239557, 0.907139754104427154, 0.898108371378369075,
  0.889790946175891606, 0.882072931282638861, 0.874849677324887054, 0.868054871717973797, 0.861649709824905852, 0.855537201870884556, 0.84967501863881334 , 0.844064755536456102
};

const double SUBSET3_1D_16x32[2*16]={
  1                   , 0.979833385645487831, 0.957266023308942171, 0.940957785714492512, 0.927759903916599682, 0.916453542136722588, 0.906425658886728325, 0.897321290440588615,
  0.888936682536967893, 0.881156880166969247, 0.873875337121942874, 0.867026842393475938, 0.860573549394290538, 0.85441625899314555 , 0.848512022218074757, 0.84286226998388758 ,
  0.837433692182305123, 0.832219051301511858, 0.827217502623003198, 0.822376308784316223, 0.8176705532296209  , 0.813105070134160113, 0.808660902482214561, 0.804337882441993002,
  0.80013922861692155 , 0.796035478143399478, 0.792014997979164193, 0.788080365030657481, 0.784235634142571802, 0.780467000291831803, 0.776769073480155114, 0.773144759845687646
};

const double SUBSET1_2D_4x8[2*4*2*4]={
  1                   , 0.968065319241571909, 0.938014058734280343, 0.917071173069408774, 0.89814814429263512 , 0.8842045154030721  , 0.870420552205966702, 0.857932048815267523,
  0.962264645146231112, 0.945737613096246488, 0.924887441183076087, 0.906852201510136458, 0.890055448569902929, 0.87685418052735864 , 0.864172289709322583, 0.852529899677461289,
  0.931802971136095337, 0.921989214782085176, 0.907733745186981467, 0.8937423330861195  , 0.879513886440549952, 0.868364397559493129, 0.85698066400626105 , 0.846198553036032308,
  0.908844137339172908, 0.901155832348194519, 0.890592908312271225, 0.879805765189072941, 0.867553645433111753, 0.858070475702575108, 0.847739482186701254, 0.837928429324908075,
  0.88973561910068788 , 0.883780168200635319, 0.875294117953762885, 0.866013997797495216, 0.855799532524259332, 0.847258432710781384, 0.838174466356914283, 0.82931233623219669 ,
  0.875045540585258075, 0.869306867100113068, 0.8624011331213981  , 0.85454362439253273 , 0.845128034825188834, 0.837951308159857633, 0.829641221663008577, 0.821416521513323339,
  0.860976449754791151, 0.855962689952442957, 0.849990577977051132, 0.843115370943231968, 0.834771268380742004, 0.82829499395784234 , 0.820673555284262002, 0.813155135435437604,
  0.848009293130841835, 0.84355039685594746 , 0.838020418278295431, 0.831964704861376858, 0.82448601186561854 , 0.818578831657175043, 0.81173287434717778 , 0.804861315164140168
};

const double SUBSET1_2D_8x16[2*8*2*8]={
  1                   , 0.967752519487544149, 0.937428833306501619, 0.91631310895981366 , 0.897264093141396102, 0.883209808929132922, 0.869329525965746086, 0.856762690427384843,
  0.846900511025535541, 0.835691080830322952, 0.826969107672746673, 0.818933002017561029, 0.809830438428076671, 0.803134017826269808, 0.795362106302003435, 0.787690705437670835,
  0.961954924291081093, 0.945274935219157619, 0.92424610169068222 , 0.906060928070372418, 0.889144721307031594, 0.875844397112008455, 0.863073894882814607, 0.851355704895122911,
  0.841621668030433367, 0.831318711641549468, 0.822831223766505082, 0.814923999068986382, 0.806517033603705191, 0.799691141952492468, 0.792198996376722975, 0.784886301462709102,
  0.931281777816421852, 0.921381192968014129, 0.906990796869103   , 0.892875067960258395, 0.878546683581894916, 0.867310516079239258, 0.855846681635714202, 0.844993924770497284,
  0.836053806428935564, 0.826089112658323188, 0.818116411621066297, 0.81074266205574641 , 0.802542206009504433, 0.796056296851092915, 0.788737985568545241, 0.781620068629307996,
  0.908141037185451805, 0.900388900847966078, 0.889720041704774256, 0.878831863926762713, 0.866494855867100067, 0.856930760887670284, 0.846526333377078832, 0.836653390428659938,
  0.82889090449344216 , 0.819467355573192613, 0.812064558629655542, 0.805202809137285702, 0.797183748563922268, 0.791223975395621393, 0.784228530812288382, 0.777298062473577134,
  0.888927836967819185, 0.882918545838175306, 0.874347650694328848, 0.864975963646774093, 0.854682212122832463, 0.846068807987367277, 0.836919023958244024, 0.827999337041125494,
  0.820535360300914562, 0.812240650858512714, 0.805279568475991914, 0.798665270121652893, 0.791417234221357568, 0.785481512556813866, 0.778858890270971771, 0.772352893134898189,
  0.874124214657913678, 0.868337238456072358, 0.861359762793239114, 0.85341874919945393 , 0.843931598712524433, 0.836686088351956125, 0.82831649234049709 , 0.820040996673757294,
  0.813576192267516984, 0.805399676755938154, 0.799061728826376605, 0.793165515563989731, 0.785977552320107353, 0.780631907233317213, 0.774135435434418206, 0.767781359517258455,
  0.859963258601435299, 0.854905626325897616, 0.848871150986304723, 0.841923434709805685, 0.83351526788595498 , 0.826977988451198409, 0.81929971436865201 , 0.811733550334082676,
  0.805777335077891843, 0.798305744827769392, 0.792300630563326669, 0.786701189287107638, 0.780029455372933334, 0.774875496820957688, 0.768762371743175743, 0.762724841050948954,
  0.84690510176443734 , 0.842403476857067512, 0.836813750587509286, 0.830697014026078207, 0.823159896692416182, 0.81720000214576527 , 0.81030404277350554 , 0.803388734710581365,
  0.797687081271963305, 0.790893941440971471, 0.785272781074388582, 0.779853863716529316, 0.773669465052654659, 0.768750720573289859, 0.763002125842184298, 0.757240585549001644,
  0.836345893740673696, 0.831851645420126795, 0.826997434494529116, 0.821805189215418341, 0.814327987222485672, 0.809239152359843228, 0.802769926061997374, 0.796283765817579647,
  0.791496195656904877, 0.784646357176256193, 0.779517456341201398, 0.77468107033105349 , 0.768377148743680127, 0.764024179898709188, 0.758367639052325404, 0.752696219195772676,
  0.824458990161440086, 0.820630334001892559, 0.815949806059630189, 0.811057718900240032, 0.804676606950521123, 0.799644958476082968, 0.793865994480091319, 0.788004642906286246,
  0.783287977925560819, 0.777246875758871081, 0.772372448650620713, 0.767661000613861555, 0.762011794691989874, 0.757594114227801096, 0.752318461206469169, 0.747055437375830134,
  0.814736842770387493, 0.810997968100112265, 0.806683200636810427, 0.802184227157318741, 0.796332827727971426, 0.791694909520326395, 0.786217744035432764, 0.780702134773094247,
  0.776525082319239779, 0.770859017247793044, 0.766381850044553836, 0.761933607211954245, 0.7564245936162175  , 0.75236599500835255 , 0.747303010613960983, 0.742165349562552534,
  0.805796863983715639, 0.802043653751527308, 0.798120597753153804, 0.793956935808122211, 0.788238421462901684, 0.784193389928592333, 0.778983314058071419, 0.773702485265075013,
  0.770055493339745101, 0.764470281448993982, 0.760383070853383969, 0.756404277031270333, 0.750966947342178393, 0.747250048093858643, 0.742247295190080369, 0.737186935778339159,
  0.79594999628604135 , 0.792720328431950949, 0.788834691213397443, 0.784765774510571168, 0.779737035722520955, 0.775718043214576158, 0.770882428525747732, 0.766141386289288406,
  0.762358712112731096, 0.757473771831270737, 0.753585881002810321, 0.749756844340881523, 0.744925053011158966, 0.741052039277713903, 0.736383828343297742, 0.731679020442787986,
  0.788520039484956858, 0.785102837146347432, 0.781478358608023504, 0.777720645813409495, 0.772613400427701658, 0.769330870792513721, 0.764533233432880821, 0.759819583869497439,
  0.756606023505698722, 0.751699714608585645, 0.748183616414752617, 0.744714328343412557, 0.739776599063227902, 0.736422748194222487, 0.731830697281605214, 0.727106089671468947,
  0.780111067648895373, 0.776956370268317764, 0.773483738354085903, 0.769870039398529715, 0.765023834463141483, 0.761924296757397923, 0.757564204180180001, 0.753101202006138837,
  0.749997039216985018, 0.745368335944091354, 0.742036880821457578, 0.738783877886318496, 0.73421668194449019 , 0.73096817123336244 , 0.726564061035920306, 0.722036172706810642,
  0.771844645469340174, 0.769001624777352011, 0.765638460575704616, 0.762113337606459496, 0.757665740378328123, 0.754565724926550607, 0.750644561116401099, 0.746431913294998917,
  0.743314500958792812, 0.739058954383143063, 0.735833103821330603, 0.732711443486120606, 0.72856383510346201 , 0.725296164823305944, 0.721149241018729015, 0.716893638026314672
};

const double SUBSET1_2D_16x32[2*16*2*16]={
  1                   , 0.967310033284790149, 0.936547672324244851, 0.915104012627103836, 0.895817494558848182, 0.881538929290635487, 0.867464980611857062, 0.854733867336361586,
  0.844712878735875972, 0.833385494652170045, 0.824559284126523129, 0.816429165873704177, 0.807261200061190509, 0.800466905164408549, 0.792612304719012783, 0.784880312606405006,
  0.779080268642033946, 0.771781422464764999, 0.766234397810660384, 0.761296795477291011, 0.755239281675461616, 0.751331656015486238, 0.746612396585633831, 0.742091907153865082,
  0.73900318462905723 , 0.73402752440256136 , 0.729924043441252057, 0.726093825087835376, 0.721018476989890522, 0.717710519097871646, 0.713562863396180025, 0.709482854124195539,
  0.961543366555134726, 0.944658504367841934, 0.92330938388501127 , 0.90482108028470154 , 0.887682433468871213, 0.874184561180798569, 0.861228456549132937, 0.849346854610508184,
  0.839468268637404869, 0.829047566510149769, 0.820459562402383935, 0.81246471008003307 , 0.80399241885879702 , 0.797081486621319613, 0.789508116392399151, 0.782127124103046745,
  0.776151521750745421, 0.769389972165274827, 0.763848201001021243, 0.758804378975838856, 0.753195737521667019, 0.749100123442841936, 0.744555141600287351, 0.740198483418848752,
  0.736804282624581641, 0.732214666180942553, 0.728155122817808587, 0.724173882215034093, 0.719417728761213793, 0.715931841140907688, 0.711957979253558193, 0.708075233305448637,
  0.930461214123274538, 0.920474101340418405, 0.905845803374466074, 0.89147510776494221 , 0.87696240556638283 , 0.865547912680292297, 0.853910385831196272, 0.842903048966996304,
  0.833827881394844317, 0.823757554972253225, 0.815689542403658208, 0.808227051298439636, 0.799962654962578013, 0.793392560576376304, 0.785997028947266307, 0.778818398971320325,
  0.773199653003429743, 0.766486178266511775, 0.7611214975221261  , 0.756276406917868127, 0.750739810714411093, 0.746897393152563982, 0.742428292082263019, 0.738079259840011881,
  0.734895122536370793, 0.730294509957516103, 0.72631835310478543 , 0.722451072624578639, 0.717694299907859157, 0.714372151549319656, 0.710430085973449699, 0.706555976995718482,
  0.906991247694648894, 0.899191060091015348, 0.888336272097274504, 0.877228646498387943, 0.864725099172086509, 0.854994625635871364, 0.844439570328980538, 0.834430876520030229,
  0.82653644169754259 , 0.817013541155919731, 0.809519716570766157, 0.802576370517782522, 0.79450306166011031 , 0.788458180945134313, 0.781390256836146713, 0.774407227195549996,
  0.769126780398519561, 0.762419422386175327, 0.757312528321422263, 0.752774788806694461, 0.747216921808613987, 0.743615676479853271, 0.739256029343338561, 0.735010120254418697,
  0.732099593009589267, 0.727423665954364584, 0.723568561339468452, 0.71992133073623843 , 0.715148144574274003, 0.712040522695195688, 0.708134470941595873, 0.704241445846900183,
  0.887563967170721058, 0.881518601331293006, 0.872800188918912756, 0.863230666957451209, 0.85278679985223349 , 0.84402747162008307 , 0.834738436965640984, 0.825690307671607449,
  0.818112504749596292, 0.809724951139220495, 0.802682525070363972, 0.795994548360195675, 0.788687865943067279, 0.782673257905289299, 0.775977748736277895, 0.769416630571443494,
  0.764041713964671687, 0.757887413846190294, 0.752847153524189183, 0.74826175320421684 , 0.743183200400141963, 0.73946106867652539 , 0.735351980034578467, 0.73135398887661085 ,
  0.728209122170682233, 0.723932339320023766, 0.720109330450295015, 0.716394559190987157, 0.71196129221556459 , 0.708702069056831641, 0.704959339604866675, 0.701281348311939778,
  0.872554063509596634, 0.866740535931939893, 0.859638309370740705, 0.851515294147680346, 0.841902956141259318, 0.834517656312180667, 0.826013606484561569, 0.817616464957696465,
  0.811045005149020004, 0.802791196039434496, 0.796376340267100025, 0.790408113776261412, 0.783169933241897875, 0.777744299103598546, 0.771176701750874383, 0.764770784704742579,
  0.760007492091040793, 0.753713651291502473, 0.748904298709109795, 0.744646269693848062, 0.739427057282382783, 0.736169040029565847, 0.73210044938906349 , 0.728021834000080359,
  0.725280913246562631, 0.720916951775624537, 0.717304677971479343, 0.713821187802017421, 0.709168709729847802, 0.706216908741648441, 0.702483339086599434, 0.698744256224355542,
  0.858216803977561615, 0.853135736944055756, 0.846994040371090162, 0.839880952954436544, 0.831353997280249279, 0.824694855671839089, 0.816894122960165725, 0.809215416257325293,
  0.803161612971040939, 0.795616210044411298, 0.789538770326282502, 0.783877370508550442, 0.777164451331689765, 0.771937901586102315, 0.765757868022572619, 0.759669036591277158,
  0.754968113222585946, 0.749009586604532762, 0.744385573368850029, 0.740262353709096654, 0.735270566685796045, 0.731982973422150573, 0.728077783713010351, 0.724247412223797959,
  0.72150775680977286 , 0.717296481763986304, 0.713768133642968206, 0.710332348140082281, 0.705921180160763329, 0.702975348770553898, 0.699346268475205535, 0.695707293405814164,
  0.844986402717503915, 0.840465271608950681, 0.834781962991200999, 0.828528165037038966, 0.820875316156230217, 0.814801151365605603, 0.80779033171052872 , 0.800769383522625167,
  0.794976099452206264, 0.788113643196210356, 0.78242935539338121 , 0.776954192398736421, 0.770729877499718108, 0.765748225621236345, 0.75993790642169412 , 0.754129104066323719,
  0.749474085922772426, 0.743921047249457512, 0.739471943039727186, 0.735427456997852724, 0.73074860299127975 , 0.727496018681318191, 0.723785462060216878, 0.720112866544388663,
  0.717306330161047279, 0.713301966509505947, 0.709824502014857139, 0.706427015420347804, 0.702293477009746425, 0.69932987740608854 , 0.695806764577141523, 0.692338213719402962,
  0.834270411115767274, 0.829765592902809046, 0.824814621271083848, 0.819493849612677905, 0.811917252819488677, 0.806719315654827351, 0.800151001319776123, 0.793573619137323605,
  0.788692203024526806, 0.781781946887216805, 0.77659144466043617 , 0.771699220578039413, 0.765365542756637707, 0.760949467695505755, 0.755235562592085352, 0.749523428886379239,
  0.745517644542434965, 0.739812252414476457, 0.735589255428165667, 0.731869253961457189, 0.727052698146563925, 0.7242280692357419  , 0.720530988427045993, 0.716795456112429896,
  0.714403497137997667, 0.710203908221352709, 0.706916611055044886, 0.70376514102172838 , 0.699318003518120679, 0.696689003797616668, 0.693217199796254291, 0.689646545909525233,
  0.822252547576908244, 0.818412078319857739, 0.813644105371596593, 0.808636587683983943, 0.802166091470738696, 0.797033225783575383, 0.791159183632651475, 0.785211815144536307,
  0.780418166542593217, 0.774318891264115461, 0.76938986083092531 , 0.764628111632723928, 0.758943327586527716, 0.754469904765185717, 0.749142362456315158, 0.743840516299418719,
  0.739657917989581248, 0.734483985528071814, 0.730391833631738763, 0.726695923966732438, 0.722369237835199129, 0.71937395865870668 , 0.715876568383289613, 0.712409971007736065,
  0.709810674067466563, 0.706001067855399178, 0.70273720310476373 , 0.699532563516083061, 0.695477849249007574, 0.692694842903302299, 0.689332762531819632, 0.68595850186437024 ,
  0.812424500432085139, 0.808672340391972222, 0.804272823133686643, 0.799662993064270688, 0.7937384019947753  , 0.789000021039718336, 0.783430712631139281, 0.777834461865756221,
  0.773586285475721391, 0.767864963841550119, 0.76333662392519086 , 0.758837942052628223, 0.753293956522951058, 0.749184820282299047, 0.744073653554764736, 0.738901129237177989,
  0.734950387771151958, 0.729895337806239053, 0.726031216525893641, 0.722561335281114214, 0.718265698902178951, 0.715489546418537903, 0.712110471453729188, 0.708706312286881857,
  0.706276452019750312, 0.702442689518638419, 0.699250362805198034, 0.696233774476716083, 0.692260629218319212, 0.689624209196820437, 0.686316436403342833, 0.682983032244767974,
  0.803378789184813091, 0.799621538694317957, 0.795615102172294475, 0.791336536399061208, 0.785555201902031319, 0.781412881843248863, 0.77611893982089375 , 0.770762692405794758,
  0.767039803844424384, 0.761406628076477077, 0.757270575293677362, 0.753243051919510687, 0.747779488103145651, 0.744007238977126839, 0.738956804595933936, 0.733866189629068466,
  0.730330990798769841, 0.725264807669459888, 0.721565610475611074, 0.718327824580145213, 0.714020588782333321, 0.71157052734353099 , 0.708257467435343901, 0.704878043944739074,
  0.702732241943628044, 0.698852156691719628, 0.695811082771416456, 0.692959366899408957, 0.688890266355638992, 0.686463487148939455, 0.683212226679899226, 0.679894568563777058,
  0.793461870762345645, 0.79021995835509462 , 0.786254377027324702, 0.782077094326314448, 0.776983786146039801, 0.772885519743673921, 0.767964503741772608, 0.763150370642742049,
  0.759301369951271954, 0.754369812014969887, 0.750439885289858499, 0.746570620468624324, 0.741705999161479612, 0.737781875428802136, 0.733067035834117031, 0.728330269830147592,
  0.724619146531997105, 0.720037499288020744, 0.716372510946182373, 0.713072435753058786, 0.709226791690975467, 0.70663039088210633 , 0.703529719652434271, 0.700418835591027356,
  0.698086390383179434, 0.694644256591849141, 0.69163242036176209 , 0.688668609006132915, 0.684980193303940554, 0.682400332511956198, 0.679304479031045294, 0.676205965557727384,
  0.785931799951455012, 0.782505218698709704, 0.778797603581167119, 0.774932785730638951, 0.769768550029931498, 0.766418161663482089, 0.761540369924144867, 0.756757852612530146,
  0.753478219002518879, 0.748532091078650375, 0.744977892790978591, 0.741467576298328823, 0.736502259823803795, 0.733096678974124893, 0.728456758596398246, 0.723700550734072467,
  0.720378642868984786, 0.715617943792775546, 0.712215702796669792, 0.709221874188596724, 0.705187549550782999, 0.702880137779408942, 0.699809601448699081, 0.696735478609197822,
  0.694784901139582356, 0.691132105637163319, 0.688265418140152851, 0.68557665747555141 , 0.681731425262554591, 0.679423915716179994, 0.676315668727506369, 0.673159564760364981,
  0.77742902827998861 , 0.774266760235377882, 0.770714409471887185, 0.766998684905806249, 0.762094034031085443, 0.758929585983405985, 0.754501207284894226, 0.749974811402552288,
  0.746808218095033394, 0.742143852023957717, 0.738776433632613028, 0.735484801189688397, 0.73089448855180783 , 0.727595732841573861, 0.723144877277950626, 0.718584348349743718,
  0.715318663654920583, 0.710810225169419274, 0.707486830820852619, 0.704531630799638986, 0.700700703205050179, 0.698448500189942534, 0.695508597076389345, 0.692524766468895603,
  0.690568203695729244, 0.687137283926673281, 0.684372856015764919, 0.681681574392639988, 0.677985066607594944, 0.675707291886421868, 0.672678868993541013, 0.66966315151600353 ,
  0.769063572416284313, 0.766208351243468311, 0.762768479045411008, 0.759146466411283916, 0.75463939019340498 , 0.751482832912553911, 0.747504787781380964, 0.743229894381116307,
  0.740057812377244661, 0.73576562237291232 , 0.732509230700818303, 0.72935427227124483 , 0.72518199407627848 , 0.721868252875979111, 0.717673080367623895, 0.713381956353681734,
  0.710065836017410579, 0.705861795492237265, 0.702585182243295248, 0.699647462720536017, 0.696092967481121039, 0.693793974221623144, 0.690995964415084263, 0.688180548566711958,
  0.686156263331604843, 0.683007322269116979, 0.680295593537793009, 0.677587694382243089, 0.674111757614293872, 0.671782309529195598, 0.668899074391788195, 0.666026926302441202,
  0.762406344401595715, 0.759241489997037222, 0.75607574769325292 , 0.752760032871451101, 0.748067551749860504, 0.745487748045301601, 0.741663724517930389, 0.73738927649361985 ,
  0.734780882795317614, 0.730333575527642331, 0.727368802693627248, 0.724554766017378005, 0.720210707678160644, 0.717438218821275009, 0.713304158018896017, 0.708991579818267548,
  0.706159034879397574, 0.701716614625166546, 0.698667957726538447, 0.696028328535838514, 0.69219086543783892 , 0.690247630619662988, 0.687435499042254206, 0.684570057616979311,
  0.68298100163960096 , 0.679572544859382788, 0.676964311386870299, 0.674522043037186214, 0.670811078707106656, 0.668776653259965492, 0.665887681062641179, 0.662924521962140578,
  0.754279745851909378, 0.751534609968621203, 0.748338539166689909, 0.745032616114031598, 0.74084679669770126 , 0.738044524093843579, 0.734537961835569853, 0.730683151705002532,
  0.727827474199695734, 0.72393025250458265 , 0.72105377310390395 , 0.718240152560799094, 0.714397260941048495, 0.711525797971351182, 0.707658877913326489, 0.703660632566340816,
  0.7006551479145251  , 0.696642556138028723, 0.693632416128675322, 0.690924310154013566, 0.687471118833614669, 0.685339229074689471, 0.682679165322441772, 0.680020810361344874,
  0.678218444638017837, 0.675178451415161196, 0.67260861007561823 , 0.670093993911022867, 0.666749827768112202, 0.664575848705594607, 0.661791698241360082, 0.659042196773892419,
  0.747481520571925517, 0.744787905554211038, 0.741760316868828151, 0.738564398055109317, 0.734425837774839274, 0.731813730191430589, 0.728440367284475143, 0.724879991733700657,
  0.722157587138794077, 0.718292273183215757, 0.715608299763815681, 0.713033263337303658, 0.70931075421236911 , 0.706595587903553812, 0.702834740545176251, 0.698957947924874756,
  0.69618613893713166 , 0.692269121661438613, 0.689352614519147866, 0.686791255597334893, 0.68343932820616482 , 0.681396878784578774, 0.67875784596633093 , 0.676126718742899535,
  0.674432603218754312, 0.671445587282045619, 0.668982297064551701, 0.666561547195042015, 0.663204757828899427, 0.661107023829233476, 0.658449935586573387, 0.655766526639745551,
  0.741091286609097621, 0.738243351500117551, 0.735421382539129809, 0.732468519881452229, 0.728228781122531754, 0.725951278367444552, 0.72257333848183436 , 0.719140124807044478,
  0.716859635306595133, 0.712839433821432333, 0.710344444507751915, 0.708011390476454672, 0.704180840559576526, 0.701850351657932525, 0.698178745075225371, 0.694307564847294167,
  0.691876277967286901, 0.687915873159611335, 0.685214100758363753, 0.682834811019571331, 0.679341790820397473, 0.677598653638055715, 0.674978617960017568, 0.672293740587968314,
  0.670854462174036881, 0.667740639602638297, 0.66540161509431861 , 0.663147143115673354, 0.659706298723818252, 0.657850252413410774, 0.655188021301712165, 0.652490008669317501,
  0.733589718200429175, 0.731182580919611302, 0.728285289296854432, 0.725272897781090053, 0.721561035817414376, 0.719072419211921887, 0.715910706989322243, 0.712731552482152031,
  0.710294676010572723, 0.706757481672004251, 0.704245427749542685, 0.701854221887233343, 0.698523219585235888, 0.696043181643473785, 0.692652400962229908, 0.689085581236087541,
  0.686413760138830487, 0.682904109800963055, 0.680268216338901666, 0.677869909205074728, 0.674754970624315664, 0.672791302103476263, 0.670369273255000064, 0.667943523096441116,
  0.666243629333121645, 0.663429904800951098, 0.661052118967770497, 0.658711986436291586, 0.655654204212247627, 0.653638731593631839, 0.651105714300581284, 0.648621238942300504,
  0.727854128230040698, 0.725227450104324767, 0.722588301087264684, 0.719802516994644148, 0.715844910962751158, 0.71368017570720732 , 0.710551846237699292, 0.707400408966823324,
  0.705421622868231513, 0.701700651274484555, 0.699337359264740832, 0.69718818314186437 , 0.693750803595255428, 0.691616680516464299, 0.688255214930089454, 0.684699659749344214,
  0.682424969584002672, 0.678791155712164862, 0.676282885763471286, 0.67409821616519594 , 0.670886126376632808, 0.669242278429498683, 0.666818641588863614, 0.664335655268262326,
  0.662951007895019595, 0.660012546932206789, 0.657740880767910485, 0.65557769899150331 , 0.652307711088216058, 0.65050149843026317 , 0.648014060284628601, 0.645450689495666086,
  0.72142292563068533 , 0.718929822621689141, 0.716363863071770246, 0.713639730434251884, 0.709827380979393685, 0.707699083024361575, 0.7047079185970615  , 0.701679527376184553,
  0.699807479399460308, 0.696286920391897324, 0.693973114257832036, 0.691878346694511981, 0.688599681373290196, 0.686530197688299926, 0.683313465713788815, 0.679898228969648022,
  0.677645349510614614, 0.674154348291319927, 0.671774362385011536, 0.669636306311683915, 0.666575097074239009, 0.664994169547824976, 0.662639811315244076, 0.660256168262706944,
  0.658913134152237623, 0.656105355368725163, 0.653896797437641841, 0.651721561561832807, 0.648558272908261957, 0.646792332183635299, 0.644336112459961363, 0.641857344683935738,
  0.714950294473358783, 0.71275083090983482 , 0.710171939269727104, 0.707407484012303356, 0.703917401958736644, 0.701665463065063055, 0.698845238664161594, 0.695957874146227895,
  0.694016122022133697, 0.690915023640909509, 0.688581848401528474, 0.686418521190552466, 0.683420479525644442, 0.681259490736976225, 0.678277942658154109, 0.675051735788003149,
  0.672633861494302709, 0.669432602581514491, 0.667111319094098931, 0.664993527173365906, 0.662205351795062014, 0.660500833938042375, 0.658307839152375784, 0.656114167364515555,
  0.654642918585470746, 0.65207319703097022 , 0.649909306008083831, 0.647741640853511158, 0.644827744646117917, 0.642938979656734855, 0.640570341724666426, 0.638215754224510601,
  0.710100026666945494, 0.707582789742357665, 0.705242671932526322, 0.702733425661026589, 0.698943095328661057, 0.697109526794824519, 0.694250202572972208, 0.691308350282135775,
  0.689804559326128608, 0.686475617691641671, 0.684360059034267221, 0.682408729855531027, 0.679146816653465324, 0.677394144572832202, 0.67434941205026433 , 0.671071612006893692,
  0.669080546375338758, 0.665629250448889653, 0.66346349586174358 , 0.661601136523098265, 0.658565892913269946, 0.657226306416420769, 0.655014335035587592, 0.652735162171072525,
  0.651641802823174854, 0.648849783866909724, 0.646824629798566142, 0.644894031484829044, 0.641760636540952056, 0.640184207044218079, 0.63780466589702467 , 0.635327504376553054,
  0.703696051846229409, 0.701546243010935711, 0.699202793236519016, 0.696650226668165562, 0.693231068548526119, 0.691191191386289705, 0.688537296021693779, 0.68581541940685975 ,
  0.684045525142832012, 0.681143457758714099, 0.67908098026982977 , 0.677027304558941001, 0.674109892889135143, 0.672179324997995153, 0.669278587242974177, 0.666238914840115215,
  0.664086046350399029, 0.660925758386488926, 0.658750714277162919, 0.656842884393633253, 0.654182195016055901, 0.652716965621297884, 0.650632307286107991, 0.648545696930730275,
  0.647275697926980365, 0.644793561762150746, 0.642771222256078634, 0.64074646819756309 , 0.637921602007264998, 0.636215146797882047, 0.633943669233729135, 0.631659128726999142,
  0.698397505772346272, 0.696270397370238436, 0.694023130124781673, 0.691599132727144683, 0.688269188562174783, 0.686311603789116043, 0.683706947376084284, 0.681055568990589055,
  0.679378947537799704, 0.676584135381136043, 0.674643659833175202, 0.672659159639619531, 0.669728090519417507, 0.667881613667934637, 0.665073004123924005, 0.662104365773076076,
  0.66004329975321141 , 0.656921816838897721, 0.654809312421801959, 0.652992912297535866, 0.650410024605355019, 0.649027587819921647, 0.647033638719573423, 0.644988748800806921,
  0.643776011921860514, 0.641333366025444107, 0.639343854575803672, 0.637400106307465353, 0.634618650632861381, 0.632969018711492581, 0.630764225423544711, 0.628518951587728636,
  0.693515507271712517, 0.691203134753395232, 0.689125040706690117, 0.686866908204724402, 0.683383502030967538, 0.681753614065651825, 0.679087183882206347, 0.676400509180638987,
  0.675072545082549547, 0.672100450362116297, 0.670367408647157492, 0.668635068113781927, 0.665526805514571329, 0.66395502396906092 , 0.661149175913293363, 0.65816221977364453 ,
  0.656461829364947458, 0.653198584250496483, 0.651224243828179228, 0.649561532931691055, 0.646811159382589929, 0.645699943265803489, 0.643720120288612918, 0.641648407578210733,
  0.640697057447453089, 0.638096418756941786, 0.636205181486035332, 0.634407481300411247, 0.631475637291950997, 0.630055848046857103, 0.627827421118037021, 0.625557175951776956,
  0.687439142733716979, 0.685560904136454541, 0.68346367114690354 , 0.681146447735983873, 0.678055307032329746, 0.676130348485658783, 0.673687580912131212, 0.671211109719652699,
  0.669594103676340424, 0.667006887564978945, 0.665291915856595861, 0.663505047617903077, 0.660816689010542913, 0.658977543598570414, 0.656364304906464913, 0.653612743653456674,
  0.651697058659370221, 0.648837468040645238, 0.646787937372573674, 0.645027919037508668, 0.642672299632435662, 0.641346732063113989, 0.639535372796569801, 0.637687602840064871,
  0.636494661800622308, 0.634209413697069624, 0.632302856230274268, 0.630412129987618974, 0.627810480791648362, 0.626178638803521204, 0.624076139245593353, 0.622004680742598737,
  0.68312186035674749 , 0.681016096100283463, 0.67906386322537049 , 0.676939982953876918, 0.673705811517604003, 0.67205078353087655 , 0.669554088134962977, 0.667025462920798673,
  0.665694162791542476, 0.662966837239084672, 0.661442711993804111, 0.659884630367578717, 0.657047482720286902, 0.655417440636619553, 0.652797370846560643, 0.65000214117119004 ,
  0.648337429670366672, 0.645393765835639011, 0.6434593060540309  , 0.641852571851326603, 0.639328779537679193, 0.638258512255708288, 0.636481266054974126, 0.634587419683423248,
  0.633636872897760606, 0.631252404240580711, 0.62943599156408292 , 0.627672732725162441, 0.624910733871753332, 0.623463223444054915, 0.621366451001085673, 0.619205081718676165,
  0.678117448109835319, 0.676068488171536752, 0.674173791232028363, 0.672090710482119769, 0.668944115081887558, 0.667342467934127437, 0.6648778535818749  , 0.662445150425733931,
  0.6611750304576548  , 0.658507446337083135, 0.657013143760146634, 0.655560068931105855, 0.652845592557209087, 0.651241219231365021, 0.648628156718362159, 0.645931335726182221,
  0.6442931097719371  , 0.641486396330402053, 0.639634869374533177, 0.638043672443669774, 0.635613191698412572, 0.634591784517908875, 0.632859055613347876, 0.631057512975952362,
  0.63015322462970691 , 0.627820175694366545, 0.626064538638572921, 0.624318060561419252, 0.621608171260606857, 0.62020018840797364 , 0.618130060976495033, 0.616042342156419398,
  0.672965152705100378, 0.671180982676606419, 0.669275049733988436, 0.667140756788641487, 0.664237401057755306, 0.66247320126568443 , 0.660178467329412211, 0.657890782398262153,
  0.656418201180118843, 0.654027772687425624, 0.652494770955401315, 0.651035578036037621, 0.648613904993745383, 0.646883226340640882, 0.644387112363957182, 0.641837435480867802,
  0.640054014922060932, 0.637540175781766361, 0.63570276861193542 , 0.634047975081889481, 0.631861902518088825, 0.630704367583464376, 0.629095207387249777, 0.627409866640571634,
  0.626358262444381864, 0.624278508454241599, 0.622526779556950571, 0.6207404844620108  , 0.618249551318748924, 0.616716308431234816, 0.614759361179038288, 0.612804380549829664
};

const double SUBSET3_2D_4x8[2*4*2*4]={
  1                   , 0.981196617789956926, 0.959520334190045454, 0.943589032604141509, 0.930690125022685888, 0.919714467895986876, 0.910041022237088937, 0.901252280314526866,
  0.978811968296694701, 0.967640903577134392, 0.951457608925744713, 0.937717681241670875, 0.925987322269142044, 0.915756099867849671, 0.906602364958592921, 0.898201145383863309,
  0.955699978833517871, 0.949213507463744333, 0.938197688741848945, 0.927446727973136875, 0.917531781332417862, 0.908493978880756448, 0.900184059912716106, 0.892429224893257378,
  0.939277500263222875, 0.934396010602968952, 0.925894335780909405, 0.917182916153479466, 0.908757211736018755, 0.900807791317042361, 0.893310191881184101, 0.886189309780813672,
  0.926004333464758078, 0.9219649131872798  , 0.91487771486445757 , 0.90748845883104079 , 0.900179935385701624, 0.893135469630639167, 0.886372437762514176, 0.879860080237806597,
  0.914561222926800865, 0.911058735664653896, 0.904888809505508207, 0.898416663048911546, 0.891950764965042553, 0.885632356655233322, 0.879490521218773025, 0.873515188423576561,
  0.904345573872572972, 0.901226304945041967, 0.895708598163787784, 0.88990661439580665 , 0.884094721891169888, 0.878358888107390157, 0.872739339127630465, 0.867224393173837926,
  0.895071125012192881, 0.892255463325639653, 0.887243103267207567, 0.881956893113217122, 0.876655978860781726, 0.87139816324869257 , 0.866215693815570065, 0.861093437034028519
};

const double SUBSET3_2D_8x16[2*8*2*8]={
  1                   , 0.981064821166558354, 0.959236894050674804, 0.943186666278997388, 0.930187451104655394, 0.919126058231746201, 0.909377939224557452, 0.900521325178472498,
  0.892379989571811194, 0.884853977855447615, 0.877824125109184616, 0.871217852256956915, 0.864995101113538278, 0.859092485997195787, 0.853445343977299875, 0.848031877219081798,
  0.978675507130051359, 0.967416887224816113, 0.951113068449666255, 0.937267883394398593, 0.92544551793048635 , 0.915134343075451273, 0.905910018438854658, 0.897444107289160575,
  0.889612475150075799, 0.882338211375001125, 0.875519097233181331, 0.869096340802283818, 0.863025994220470438, 0.857252354949444406, 0.851720845538371796, 0.846414456432167173,
  0.955416122249208577, 0.948869395908914948, 0.937761459326657776, 0.926922825635986602, 0.916927153980108378, 0.907817064725534251, 0.899442311409227591, 0.891627584528852712,
  0.884325949694224178, 0.877491858976432448, 0.871048101836493727, 0.864939637627041402, 0.859141039740645818, 0.853606536002179062, 0.848289156899306285, 0.843173474873491147,
  0.938883506190840933, 0.933953168681316281, 0.92537541014052449 , 0.916589290511736987, 0.908092143447004729, 0.900077186946461882, 0.892520150717359684, 0.88534367317273388 ,
  0.87855462205260626 , 0.872152576603892116, 0.866074525482607327, 0.860280902678654424, 0.854758912693056816, 0.849467491505688566, 0.844371444258324555, 0.8394578781281955  ,
  0.925518071094602157, 0.92143682510391145 , 0.914283770087146674, 0.90682889480680362 , 0.899456808738637204, 0.892353487149720737, 0.885536339692660435, 0.878972704112686465,
  0.872684911239495431, 0.866695908860256936, 0.860964015436378349, 0.855468783356169493, 0.850205212086839079, 0.845137081643954291, 0.840249757542373299, 0.835529412115667225,
  0.913994165212644538, 0.910454750392769685, 0.904226556271979454, 0.897696470267688063, 0.891174018100231669, 0.884802255798057491, 0.878610766887240158, 0.872588060927686371,
  0.866765665688496112, 0.861176591851917972, 0.855792255765090104, 0.85059616488581069 , 0.845585465566617289, 0.840739260433554403, 0.836051828674726938, 0.831511795901283435,
  0.903708736834687998, 0.900556075043865145, 0.894985935092685758, 0.889131912701828453, 0.883269115242679481, 0.877484550928614437, 0.871818987440986071, 0.866259670174226781,
  0.860848814893170888, 0.855626282678903394, 0.850570029972402275, 0.845668817205656564, 0.840915625593589788, 0.836295035376528939, 0.831801260820057564, 0.827434545069124283,
  0.894375277587915685, 0.891529337146255596, 0.88646872154559786 , 0.88113431128192099 , 0.875786270870556716, 0.870483063868972229, 0.865257603840584144, 0.860093965164538177,
  0.855042316808422798, 0.850144848028617228, 0.845380779717266995, 0.840742035528466158, 0.83623139949117542 , 0.831831909573696904, 0.827532977792150182, 0.823341360595563843,
  0.885762723810488706, 0.883165185514496298, 0.878508633902912339, 0.873577958470736493, 0.868633944148703097, 0.863731300188231965, 0.858880764909137007, 0.854066480301721387,
  0.849335469330392501, 0.84472556566381396 , 0.840230399012002582, 0.835837570249377437, 0.831550743667679892, 0.827365504679925867, 0.823268211240801739, 0.819253968266395849,
  0.877742244428551088, 0.875352979159822242, 0.87103120963381464 , 0.866431777343295795, 0.861810429293977998, 0.857230666654987705, 0.852694807086069484, 0.848189331721509565,
  0.843742775470027517, 0.839394204024996649, 0.835142783909966213, 0.830979001453640787, 0.82689738189655293 , 0.822905532783932747, 0.818993602567028911, 0.815153031748778956,
  0.870221647280058797, 0.868008754771621094, 0.863976393932421538, 0.859664974794940528, 0.855321841204934707, 0.851010013436771851, 0.846740280529945433, 0.842499090043067667,
  0.838306821490355625, 0.834197314719492766, 0.830161339769119433, 0.826196695700832873, 0.822304710899368629, 0.818488813177510766, 0.814740040517840658, 0.811050796383181116,
  0.863141008735125559, 0.861080300960128775, 0.857295047037357927, 0.853229347017188444, 0.84913291330827223 , 0.845066206512800844, 0.841029758190460219, 0.837015363806730583,
  0.8330459240689988  , 0.829143589097023459, 0.82530068069851481 , 0.821518257811101327, 0.81779727689216597 , 0.814146055216548925, 0.810548898239426108, 0.806997516783104274,
  0.85646351211972449 , 0.854534698188268105, 0.850962539989324918, 0.847106514225670182, 0.843219491777292274, 0.839359915531354583, 0.835526615401421813, 0.831712531461410554,
  0.82793684364273723 , 0.824214514303025392, 0.82054342082974685 , 0.816930494010967068, 0.813367325425408794, 0.809866205164097797, 0.806413251915793716, 0.802994923199125465,
  0.850055155052167666, 0.848242199050578405, 0.844854728022762624, 0.841189245944673925, 0.83748896995155353 , 0.833809510604231918, 0.830154213837086319, 0.826519902500056247,
  0.822920326813889713, 0.819369505431123968, 0.815856095668381354, 0.812389956607304398, 0.808973541733505108, 0.805611606929766078, 0.802291890943982455, 0.799002017658968389,
  0.843894852187270894, 0.842185535115425932, 0.838967539594007716, 0.835472083831537149, 0.831936413722608958, 0.828422152090350417, 0.82493118538485799 , 0.821459383486810024,
  0.818014800734737757, 0.81461748564290215 , 0.811255174581802962, 0.807927629762638766, 0.80464364971947322 , 0.801406717412491587, 0.798210977598658333, 0.795039401855227479,
  0.838007598036248025, 0.83639266034967652 , 0.833325674354198687, 0.829976342567810721, 0.826588157148041458, 0.823219612169243109, 0.819875227601593926, 0.81654879086787191 ,
  0.813246881989656112, 0.809985121879249981, 0.806757782650862065, 0.803562175515823207, 0.800402586637407931, 0.797283058287462598, 0.794198588950802753, 0.791133657913406063
};

const double SUBSET3_2D_16x32[2*16*2*16]={
  1                   , 0.980786322024093549, 0.95863663951644873 , 0.942334884005742168, 0.929122424042696848, 0.917877236302744981, 0.907966955710905244, 0.898960635507445094,
  0.890679181211781135, 0.883023684174709111, 0.875873782561148229, 0.869156612588189326, 0.862830075693974741, 0.856829521332062249, 0.851088902818553428, 0.845587385729426488,
  0.840318030469502153, 0.83526989940000651 , 0.830438121419093789, 0.825767746029733574, 0.821241620074004808, 0.816857885663937577, 0.812580060468090837, 0.808423293709632063,
  0.804393203900402698, 0.80045451923899047 , 0.796617904061035609, 0.792861141994129492, 0.789186995685627002, 0.785599590548969329, 0.782074857874818452, 0.778630259355316712,
  0.978391885926219507, 0.966945486619247507, 0.950383980618600521, 0.936315618832814889, 0.924297167204290671, 0.913814241854738696, 0.904436205362452617, 0.895826890717913771,
  0.887860529526677267, 0.880461478573516088, 0.873526083145830134, 0.866995400972834229, 0.860823750166341717, 0.854954478463463063, 0.84933182655091255 , 0.843939600953280578,
  0.838763523413722512, 0.833792700830523481, 0.82902684164390239 , 0.824422056470229037, 0.819960117273449085, 0.8156339906621074  , 0.81140774110633318 , 0.80729794932481469 ,
  0.80331060285501199 , 0.799413804802797334, 0.795619563711443711, 0.791903399093633498, 0.788268258526425347, 0.784716123130712484, 0.781223262067571977, 0.777807545700969105,
  0.954828002655967678, 0.948149181410255171, 0.936841429445735341, 0.925815825874542253, 0.915647474459420629, 0.906381305519930125, 0.897864199891000636, 0.889915796462361408,
  0.882488138823372625, 0.875536912505896825, 0.868982973681001858, 0.862770873837243157, 0.856874981591701945, 0.851248460263040463, 0.84584335409004463 , 0.840644895164690542,
  0.8356396146356182  , 0.830820431860464503, 0.826191088018726982, 0.821710192095068792, 0.817362635174832208, 0.81314175930528898 , 0.809012285051551649, 0.80499197047921911 ,
  0.801086329338201231, 0.797268637847296957, 0.793547681355757595, 0.78990553307381195 , 0.786342250108398089, 0.782854859180090679, 0.7794225372780893  , 0.776061468313776315,
  0.938067536296598781, 0.933028626468074829, 0.924283590978385527, 0.915336943265271485, 0.906686648870857037, 0.898529647818345323, 0.890841055258994485, 0.883539367112891383,
  0.876631616360126875, 0.870118928341512943, 0.863936430261535881, 0.858043938734776801, 0.852428966110131525, 0.847049523444958874, 0.84186949609495032 , 0.836876092238003522,
  0.832053503922413618, 0.827394929490929187, 0.822909480928969095, 0.81856057268793847 , 0.814330750259765646, 0.810218935434136922, 0.806195041425870396, 0.802273856444108424,
  0.79846189788942934 , 0.794732320944744108, 0.791092603490634705, 0.78753009706362842 , 0.784044792911101962, 0.780626904608040184, 0.777260520818645384, 0.773964270696426038,
  0.924508765142174727, 0.920333642277578967, 0.913034352922421522, 0.905437384279479396, 0.89792824186464737 , 0.890696323626023689, 0.883758815412029608, 0.877079164264087829,
  0.870679878880520119, 0.864585501582414651, 0.858753576060539814, 0.853164073395657585, 0.847811765770444814, 0.842659612437364869, 0.837692240899191032, 0.832895503703429463,
  0.828256272501155855, 0.823765855663628921, 0.819431739502655243, 0.815223829097443731, 0.811121517546213644, 0.807125092609345729, 0.803208946577569138, 0.799386295381244061,
  0.795665172583188807, 0.79202074705369141 , 0.788459790612172307, 0.784972011525842506, 0.781556981152200736, 0.7782066986425763  , 0.774907507747065849, 0.771672038864669729,
  0.912811582489845397, 0.909188682241851454, 0.902829939630657052, 0.896173176095632296, 0.889527565997222713, 0.883038052138497176, 0.876735076917666167, 0.870604841260240181,
  0.864678771725401307, 0.858990305703957846, 0.853510746269956266, 0.848224629872600278, 0.843129199341306701, 0.83820287704919294 , 0.833438783794156701, 0.82882553734352149 ,
  0.824354922425354242, 0.820020155465077227, 0.815828822702223233, 0.81175408720228126 , 0.807774022358416333, 0.803895883406052114, 0.800093153035554505, 0.796377714346000909,
  0.792751016098894645, 0.78919411620222657 , 0.785714652906682187, 0.782304616217006976, 0.778962692998635964, 0.775679073940167108, 0.772444047553925817, 0.76926778701200238 ,
  0.902370390688706503, 0.899141682998806813, 0.893452399365744498, 0.887482972375576717, 0.881508147931031605, 0.875615053332556514, 0.869845499061906557, 0.864185293855804226,
  0.858676986840006817, 0.853361346082522787, 0.848215328446308869, 0.843228589361326497, 0.838394620816618308, 0.833697532285685439, 0.829130342003321363, 0.824693463557502948,
  0.820384719010478269, 0.816197053449526089, 0.812140814887130413, 0.808189579061878938, 0.804322336474269317, 0.80055219490775309 , 0.79685430322900308 , 0.793237956676008937,
  0.789704642055831796, 0.786234544272129909, 0.782838112021684407, 0.779508065022476715, 0.77624207384612709 , 0.773026604545045681, 0.769855501963553346, 0.76674308320143858 ,
  0.892898968616095967, 0.889983346215332705, 0.884812184940615198, 0.879369963926139087, 0.873917455207925631, 0.86851304734567969 , 0.863190585063027593, 0.857932134577481187,
  0.85278833477038618 , 0.847803070396578318, 0.842954281094449143, 0.838234070724889757, 0.83364621465631128 , 0.829173546796715621, 0.824804225733592133, 0.820545276497079756,
  0.816395998310093907, 0.812347375773463942, 0.808422052823411397, 0.804594588213733641, 0.800844802954461366, 0.797178695615550881, 0.793576839286435631, 0.790050404733687373,
  0.786601465994363314, 0.783215452701311987, 0.779898480130063798, 0.776644570466751061, 0.773450262431236157, 0.770302860877318141, 0.7671953664806892  , 0.764145091700952572,
  0.884158051515148702, 0.881496381998920664, 0.876736786938983603, 0.871705010961907889, 0.866662242916140468, 0.861664211919228706, 0.856722792918812037, 0.851819920263488961,
  0.847002317662245763, 0.842309037222334855, 0.83773363210177143 , 0.833263686864643249, 0.828903460164033268, 0.824648357236447471, 0.82048351094812233 , 0.816404490698194873,
  0.812411238278969439, 0.808501567262325693, 0.804698846032425807, 0.800984702871305188, 0.79734447377991613 , 0.793783981104892122, 0.790280341750719373, 0.786843613174513234,
  0.783477351394015309, 0.780168175257118679, 0.776926138479070216, 0.773745716525949923, 0.770623735546901112, 0.767549447680225261, 0.764510040749685871, 0.761522289612831416,
  0.876017946526290614, 0.873569013270820371, 0.869150220469011248, 0.864456053923364554, 0.859742080700248712, 0.855072522881503927, 0.850450617215547044, 0.845861353653592496,
  0.841332958658677854, 0.836905341977774664, 0.83257759706517942 , 0.828340729089783179, 0.824189226446645606, 0.82013093443377727 , 0.816154577864074304, 0.812252293341565013,
  0.808417703404590071, 0.80465306836479733 , 0.800975680852857197, 0.797370548225144971, 0.793831935191898208, 0.790373747607236443, 0.786970329469600549, 0.783623659606581091,
  0.780338637501968746, 0.777105835196348904, 0.773938848350190889, 0.77083062581552253 , 0.767779438876499021, 0.764775284744990902, 0.761803697156372861, 0.758880465521027503,
  0.868382572357702553, 0.866114580913702969, 0.861991495620505921, 0.85759130467703415 , 0.853161101628860385, 0.848764889841371106, 0.84441436321202612 , 0.840093944163502249,
  0.835823926143589579, 0.831639096568595027, 0.827529782435431405, 0.823495163916386441, 0.819536476881544629, 0.81565785608988306 , 0.811847943793029936, 0.808099717033715303,
  0.804414335011657489, 0.800790249320378344, 0.797242748710011329, 0.793756159033872644, 0.790326241173308519, 0.786967303577857935, 0.783657594697708793, 0.780400008393746902,
  0.777199644006305701, 0.774045089062049607, 0.770952328027106226, 0.767913362285960188, 0.764929301393332484, 0.761989430242990151, 0.759078354803657263, 0.756210778230317238,
  0.861194396945509921, 0.859082556380887041, 0.855212478464072778, 0.851063240212179606, 0.846884648218293679, 0.84273835670809083 , 0.838625503113814452, 0.834535996964994364,
  0.830492449802154975, 0.826518077979480847, 0.822604849130857518, 0.818755346597811906, 0.814970748246028109, 0.811259407607712202, 0.807603538633068219, 0.803995445320432878,
  0.800444145139151964, 0.796949081840814144, 0.793519187778883417, 0.790147123280775854, 0.786829376736280284, 0.783567869586937693, 0.780345136225163549, 0.777175340651031998,
  0.774058144259123337, 0.770981842240263893, 0.767964782049456063, 0.764997148448943953, 0.762078445370651059, 0.759203341863108339, 0.756353801417933402, 0.753542548242406962,
  0.854420507019009401, 0.852443344798739289, 0.84878962980648609 , 0.84485365116308242 , 0.840888483599829928, 0.836952645211658131, 0.833046039297698493, 0.82916064274623813 ,
  0.825314310477994417, 0.821522690655191901, 0.817784127516424153, 0.814106943400962457, 0.810482519475355878, 0.806923181045729021, 0.803413569750054068, 0.79994089098877974 ,
  0.796512313812301143, 0.793136327387419238, 0.789819131252742057, 0.786550575935070162, 0.783333309342124529, 0.780172778663561606, 0.777046379477073446, 0.773964515133022668,
  0.77093056262926507 , 0.767933833801266785, 0.76498927592419641 , 0.762088873206787643, 0.759232383434315872, 0.756413818884729694, 0.753623847943077685, 0.750873223125270384,
  0.847921494366776551, 0.846062668001664409, 0.842596567377826511, 0.838853908850184626, 0.835078655443878493, 0.831326075435920964, 0.827600165085903616, 0.823897504163079275,
  0.820230753449729177, 0.816613864386962818, 0.813035610281589993, 0.809507237574573879, 0.806031232089628125, 0.802612913345634005, 0.79923873599665074 , 0.795896997552717811,
  0.792586850023319411, 0.789323128612240632, 0.786115292313635972, 0.782948591528988214, 0.779828263753811646, 0.776763009911960678, 0.773730454184576533, 0.77073671077754724 ,
  0.767788413676235515, 0.764872968814898968, 0.762002891344729649, 0.759173140170438576, 0.756379816649431103, 0.753620261814779924, 0.750887228237611559, 0.748188726210657906,
  0.841674305959486224, 0.839921660258004077, 0.836628749784487424, 0.833059005284231491, 0.829451228702418053, 0.825866978080312175, 0.822308299665052811, 0.818770554763388447,
  0.815261380972042593, 0.811800840442431393, 0.80837665502247813 , 0.804989332409716707, 0.801647806065915014, 0.798356458125566659, 0.795108673429155699, 0.791887513464949344,
  0.788692619920600579, 0.785535895254808714, 0.782428800269295177, 0.779355828313321175, 0.77632632371784227 , 0.773351267375070872, 0.770406883130151598, 0.767501205760239724,
  0.764635615006817426, 0.761795507389621984, 0.759003867507024643, 0.756251206693302591, 0.753528390917205027, 0.750832911756208699, 0.748156174644602934, 0.745510170487812651,
  0.835702368539573248, 0.834046818865420314, 0.8309090256297188  , 0.82748877224232209 , 0.824031615571427567, 0.820596175776623693, 0.817186794989975263, 0.813796987225700597,
  0.810433142929451233, 0.807110330093330441, 0.803823276737645309, 0.800570509421703602, 0.797355924307757924, 0.79418440912352728 , 0.791050205967677056, 0.787937995430665672,
  0.784848311042482871, 0.781790977971395296, 0.778778089514312488, 0.775797559112353041, 0.772855785001560491, 0.769961292460281332, 0.767093741560288089, 0.76426649920785017 ,
  0.761475447953692819, 0.758710587308093265, 0.755995056149168065, 0.75331944733058831 , 0.750667451531996321, 0.748037836396595601, 0.745420692724258371, 0.742828543570791644,
  0.82994807064509879 , 0.828381848994632297, 0.825393053355425788, 0.822117207661216765, 0.818798081221885132, 0.815495893249546522, 0.812221999195229416, 0.808963965865458046,
  0.805734228727804314, 0.802542016320026419, 0.799378342079362647, 0.796248061074693925, 0.793147744382992181, 0.790085618530296463, 0.787056767684140568, 0.784046229310231602,
  0.781055589278053519, 0.778091527515870074, 0.775168178700567312, 0.772271613718458427, 0.769413559264255809, 0.766603746150255394, 0.763812535893060751, 0.761052246353604911,
  0.758329909075372677, 0.755633957949954582, 0.752986395190868296, 0.750379266939045109, 0.74779495907483029 , 0.745230825355534754, 0.742678264773078634, 0.740143885625943243,
  0.824414902738116573, 0.822934178808139127, 0.8200799809328847  , 0.816938532653949334, 0.813744457491241691, 0.810563361755728518, 0.807411796210330879, 0.804275994711967646,
  0.801164639936318701, 0.798090100187105911, 0.795038577362231047, 0.792016672620934115, 0.789020551838036432, 0.786062018599026024, 0.783128917882154885, 0.780212554265176883,
  0.777319144571713361, 0.774450906093151259, 0.771617823437542261, 0.768804370352375921, 0.766021475502655536, 0.763283027581431184, 0.760563154108096495, 0.757871799647039657,
  0.755215154643405828, 0.7525841635436884  , 0.750000185786854345, 0.747453112914087447, 0.744928486688120284, 0.742427476420366328, 0.739935422372825169, 0.737455794456964409,
  0.819102387302768298, 0.817696348697666719, 0.814963624442223811, 0.811941841579169599, 0.808861698124623163, 0.805792919408071184, 0.802749872992214009, 0.799726113881986111,
  0.796722378359140837, 0.793749619148024332, 0.790804769166845611, 0.787883535421303405, 0.784985861453743827, 0.782122380132636241, 0.77928024613104363 , 0.776451952173657367,
  0.773646180061506761, 0.770866146701797539, 0.768118434868980682, 0.765389871603250782, 0.762683690652591117, 0.760012403173005002, 0.757359405640087857, 0.754733324922556958,
  0.752140746231608204, 0.749571154691601405, 0.747046660483491221, 0.744558004977602383, 0.742090180303772384, 0.739640599767761087, 0.737198880430847359, 0.734772081801397858,
  0.813951521530762667, 0.812612821876558478, 0.809991293587294603, 0.807076646293827471, 0.804104448725106669, 0.801145967682297733, 0.798208779419404935, 0.795288383659483178,
  0.792381521337056194, 0.789500963344038187, 0.786649501652295635, 0.783821457307657399, 0.781016694175052928, 0.778240692543798462, 0.775485478851490662, 0.772741166995474349,
  0.770019640354659418, 0.767322366804250033, 0.764653641203070999, 0.7620019773106399  , 0.759368148005680865, 0.756766387119487516, 0.754179958295506103, 0.751616783988262371,
  0.749085744838278056, 0.746573002266845198, 0.744103991050782176, 0.741670436419018975, 0.7392548104695158  , 0.736855024389770463, 0.734463424191366121, 0.732086462740538124,
  0.808929275849268881, 0.80765513576243475 , 0.805137648613071244, 0.802322450293304623, 0.799449447063509178, 0.79659057107489939 , 0.793750951781466374, 0.790925159727495442,
  0.788113120507071274, 0.78531964258924869 , 0.78255299846635773 , 0.779811369818845135, 0.777092493906263004, 0.774399478564164245, 0.771725782762045842, 0.769065708334592757,
  0.766424192320639297, 0.763803526950939227, 0.761209401371510275, 0.758626848170649737, 0.756063327772845906, 0.753531014236562324, 0.751008853952081834, 0.748508105900084098,
  0.746037022256003435, 0.743583230518566785, 0.741168341154612498, 0.738786772127062785, 0.736421326958082489, 0.734066463989851314, 0.731721606165985361, 0.729393394456343547,
  0.804047481808208842, 0.802831046140668247, 0.800407782315449068, 0.797688387321244585, 0.794910366948317293, 0.792140715510409765, 0.789388271782236473, 0.786648614423258952,
  0.7839271634237438  , 0.78121934167397844 , 0.778532532863754678, 0.775871036336464814, 0.773230299164129886, 0.770615499093904699, 0.768017780806350636, 0.765434620784788078,
  0.762869424187533007, 0.760317098444388884, 0.757790687788051698, 0.755272128740052784, 0.752773922378200955, 0.750305040782501709, 0.74784222705086667 , 0.745403358086616175,
  0.742991865245641536, 0.740596682816128671, 0.738236502086278445, 0.735903903115770586, 0.733588788966484606, 0.731282421325768484, 0.72898333936892179 , 0.726698726089939573,
  0.799308822393308027, 0.798145231994259796, 0.795815179064281786, 0.793188695435848024, 0.790499431883300629, 0.787812570751622032, 0.785142779623777098, 0.782480194735688306,
  0.779839576736164219, 0.777213892503919035, 0.774603342864019218, 0.772019655241617975, 0.769454303974453468, 0.76691058289452918 , 0.764385203127095791, 0.761874783309941517,
  0.759377272586002183, 0.756888468390615077, 0.75442470600273448 , 0.75196873249807894 , 0.749532153024784598, 0.747123247964746606, 0.7447223295801082  , 0.742340145034988907,
  0.739982295437925708, 0.737638686867608251, 0.735326747878414011, 0.733041967972662967, 0.730774619397308922, 0.728518505273106687, 0.726266123124958529, 0.724023478046842639,
  0.794696899749821717, 0.793584980583471711, 0.791342919396067268, 0.788802086342083486, 0.786195963107211626, 0.783590525073414979, 0.780995643813047535, 0.778406009403683874,
  0.775835049004137578, 0.773282701194484501, 0.770744663395028451, 0.768232425003555486, 0.765742017575665734, 0.763266850578275258, 0.760811182431142208, 0.758370227445161027,
  0.755935358412438752, 0.753510683160265371, 0.751109093988555299, 0.748714501247899955, 0.74633870082839604 , 0.743988625993733166, 0.7416440926227853  , 0.739315390512169768,
  0.737009249885347106, 0.73471300886478963 , 0.732446656517644401, 0.730206864120119814, 0.727985383226875893, 0.725774131798283983, 0.723568325902619325, 0.72137173693826484 ,
  0.79020866222407915 , 0.789143934763930299, 0.786985405448876962, 0.784520806769202883, 0.781988603459779497, 0.779456539129488757, 0.776931783506876639, 0.774414648643319103,
  0.77191216145543351 , 0.769429048437984764, 0.766959549627129977, 0.764510544519778068, 0.762091389490598625, 0.759685079924888207, 0.757292572211219817, 0.754911567275795337,
  0.752539182047335276, 0.750177168078041579, 0.747835431262367623, 0.745501279209735856, 0.743185055988737631, 0.740886171497483259, 0.738591183646321481, 0.736315377066600663,
  0.734060334099535972, 0.731814293621371514, 0.729596149391052884, 0.727398876819737583, 0.725218910989767984, 0.723047325720773348, 0.720882704827900955, 0.718727622254850651,
  0.785820667689697272, 0.784801183096837995, 0.782718226488413049, 0.780328387869280493, 0.777866716712415585, 0.77540239517179832 , 0.772944020702633683, 0.770494351647320608,
  0.768055693863582301, 0.765638030185864182, 0.763230103643362412, 0.760841492165346911, 0.758484079837817626, 0.756143057186746903, 0.753814751766297753, 0.751492679020678067,
  0.749181962661708445, 0.746880513139766444, 0.7445971483525885  , 0.742317850735457641, 0.740054039648197381, 0.737803230519081255, 0.735556786441091015, 0.73333152873979579 ,
  0.731126137932061826, 0.728932103633236905, 0.726763851721106025, 0.724610919216941762, 0.722470473582696782, 0.7203395296532773  , 0.718213386291217004, 0.716093510457728288,
  0.78150049031194746 , 0.780524358769914328, 0.77851472404959865 , 0.776197212273532999, 0.773805419247852955, 0.771407376017818947, 0.769013653994289337, 0.766626146359567495,
  0.76425100230865417 , 0.761893483426450246, 0.759545764396437839, 0.757218612487406739, 0.754919301255161268, 0.752634868782708799, 0.750368029849913576, 0.748106236465824526,
  0.745849596723859531, 0.743602148858401479, 0.741375310278073907, 0.739148794079016125, 0.736937236641042603, 0.734736909940348903, 0.732536233167603745, 0.730355849365635246,
  0.728195980614210536, 0.726048796198383251, 0.723929926996653816, 0.721826795881172822, 0.719729152441507147, 0.717638083138255056, 0.715550933235825859, 0.71347007206238644 ,
  0.77727527732126267 , 0.776340615923277189, 0.774401645948247452, 0.772151906524184528, 0.769826613253605907, 0.767493950016115867, 0.765158077480609822, 0.762824777456603487,
  0.760508316261331641, 0.758205909696752833, 0.755916088466423108, 0.753649947200593195, 0.751408593861823015, 0.749178060453825845, 0.746965618727860492, 0.744759198383113663,
  0.742550736426611291, 0.740353000662287042, 0.738177815113852054, 0.736004697616074566, 0.733847418385585204, 0.731700547211531549, 0.72954881139801897 , 0.727409890500643641,
  0.725291211286123283, 0.723188650707287439, 0.721115071872056812, 0.719059395255439049, 0.717008629978925782, 0.714958788873648055, 0.712910433964797585, 0.710865212035529548,
  0.773152667978828534, 0.772253317327324385, 0.770377397156760901, 0.768190939520960403, 0.765927895180547158, 0.763657753332573574, 0.761380190478126329, 0.759103046709112883,
  0.756843642454595122, 0.754593854854436197, 0.752354712881997845, 0.750141996291653679, 0.747953697253330163, 0.74577460019572217 , 0.743610153767992332, 0.741455015430193431,
  0.7392975353098451  , 0.737148034877736724, 0.735021735437967783, 0.732900275967714454, 0.730792144239391539, 0.728695710826071097, 0.726595245015211111, 0.724499750519393193,
  0.722420736424854826, 0.720357915438200047, 0.718325734783174963, 0.71631041176086474 , 0.714303384709673805, 0.712297564609838063, 0.710290438718885309, 0.7082833337253851  ,
  0.769098261203832845, 0.768231614862825096, 0.766418466756233263, 0.764294981284279085, 0.762090607378893892, 0.759881414435918168, 0.757660265923116971, 0.755438374315426264,
  0.753234351116291223, 0.751038898755105988, 0.748849378289781376, 0.746683745085518824, 0.744544270091983651, 0.742411299476714248, 0.740294626545967116, 0.738192436179846756,
  0.736085997175280338, 0.733981876842455305, 0.731899749713313397, 0.72982371787736755 , 0.727761229415336053, 0.725711007646077988, 0.72365824040661253 , 0.721606785282314145,
  0.719569265870227848, 0.717545126921183218, 0.715549399758143689, 0.713568894124754438, 0.711595853882794671, 0.709631242834508624, 0.707666518405980383, 0.705701110428856193,
  0.765122729430525839, 0.764286557274545975, 0.762531006219679952, 0.760467496184043301, 0.75831772787100904 , 0.756162206054753705, 0.753995710479904657, 0.751825706321193499,
  0.749671588727705895, 0.747524777633866599, 0.745385109872169549, 0.74326660233214914 , 0.741173616956469772, 0.739085705851967312, 0.73701594588710595 , 0.734962419439450287,
  0.732902396916534138, 0.730839208889264347, 0.728797697562242885, 0.726764828376794569, 0.724748128013116943, 0.722744243984012269, 0.720734882445106306, 0.71873074177691243 ,
  0.716739270428465636, 0.714752607381091587, 0.712792978292344448, 0.710850019469194683, 0.708909529125592464, 0.706975567302282948, 0.705047409242486989, 0.703119502398901752,
  0.761214966747187916, 0.760408444179372478, 0.758706276269821567, 0.756699188581925641, 0.75460515492481206 , 0.752503274466591598, 0.750388007144088376, 0.74826644617282867 ,
  0.746159217635675276, 0.744057548458389229, 0.741962323305243698, 0.739889921877331491, 0.737846472534083309, 0.73580616298566659 , 0.733778325505119566, 0.731764507591817104,
  0.729746542978042312, 0.727728143225351731, 0.725725116543982196, 0.723733939460126208, 0.7217621165089535  , 0.71979977533781303 , 0.717831938263325586, 0.71587173368712953 ,
  0.713922312781195667, 0.711975421327428082, 0.710051076820930827, 0.708143034794213477, 0.706238271282094154, 0.70433747554424897 , 0.702442319998264675, 0.700544261426609971
};

const double *SUBSET1_1D[OD_NBSIZES]={
  SUBSET1_1D_4x8,
  SUBSET1_1D_8x16,
  SUBSET1_1D_16x32
};

const double *SUBSET3_1D[OD_NBSIZES]={
  SUBSET3_1D_4x8,
  SUBSET3_1D_8x16,
  SUBSET3_1D_16x32
};

const double *SUBSET1_2D[OD_NBSIZES]={
  SUBSET1_2D_4x8,
  SUBSET1_2D_8x16,
  SUBSET1_2D_16x32
};

const double *SUBSET3_2D[OD_NBSIZES]={
  SUBSET3_2D_4x8,
  SUBSET3_2D_8x16,
  SUBSET3_2D_16x32
};

